/**
 * Funny Box 1
 */

.funny-box{
	padding: 15px 0px 15px 0px;
	margin-top: 10px;
	margin-bottom: 10px;
	background-color: transparent;
	text-align: center;
	z-index: 2;
	-webkit-transition: color 0.5s, background-color 0.5s, box-shadow 0.5s;
 	-moz-transition: color 0.5s, background-color 0.5s, box-shadow 0.5s;
  	-ms-transition: color 0.5s, background-color 0.5s, box-shadow 0.5s;
   	transition: color 0.5s, background-color 0.5s, box-shadow 0.5s;
}
.funny-box:before{
	content: "";
	position: absolute;
	left: 0;
	top: 100%;
	margin-bottom: 0px;
	background-color: #F4F4F4;
	width: 100%;
	height: 0%;
	z-index: -1;
	-webkit-transition: height 0.3s, top 0.3s, box-shadow 0.5s;
 	-moz-transition: height 0.5s, top 0.5s, box-shadow 0.5s;
  	-ms-transition: height 0.5s, top 0.5s, box-shadow 0.5s;
   	transition: height 0.3s, top 0.3s, box-shadow 0.5s;
}
.funny-box:hover:before{
	top: 0%;
	height: 100%;
}
.funny-box:hover, .funny-box:focus, .funny-box:active {
	/*background-color: #F8F8F8;*/
	box-shadow: 0px 0px 1px #DADADA;
}
.funny-box .icon{
	text-align: center;
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 7px;
	margin-top: 7px;
	position: relative;
	border: 1px rgb(80, 147, 207) solid;
	border-radius: 4px;
	padding: 15px;
}
.funny-box .icon span.fa{
	top: 50%;
	bottom: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: auto;
	font-size: 25px;
	-webkit-transition: color 0.2s;
 	-moz-transition: color 0.2s;
  	-ms-transition: color 0.2s;
   	transition: color 0.2s;
}
.funny-box p{
	display: inline-block;
	width: 90%;
	margin: 0 auto !important;
	text-align: justify;
	font-family: 'Lato', sans-serif;
	font-size: 15px;
}
.funny-box .heading{
	position: relative;
	margin-top: 10px;
	z-index: 5;
}

/**
 * Animation
 */

.float.funny-box .icon{
	-webkit-transition: transform 0.3s;
	-moz-transition: transform 0.3s;
	-ms-transition: transform 0.3s;
	-o-transition: transform 0.3s;
	transition: transform 0.3s;
}
.float.funny-box:hover .icon, .float.funny-box:focus .icon{
	-webkit-transform: translateY(-5px);
	-moz-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	-m-transform: translateY(-5px);
	transform: translateY(-5px);
}

@-webkit-keyframes hover {
  50% {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
  }

  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

@keyframes hover {
  50% {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
  }

  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}
.hover.funny-box .icon{
	-webkit-transition: transform 0.5s;
	-moz-transition: transform 0.5s;
	-ms-transition: transform 0.5s;
	-o-transition: transform 0.5s;
	transition: transform 0.5s;
}
.hover.funny-box:hover .icon, .hover.funny-box:focus .icon{
	-webkit-transform: translateY(-6px);
	transform: translateY(-6px);
	-webkit-animation-name: hover;
	animation-name: hover;
	-webkit-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-delay: 0.3s;
	animation-delay: 0.3s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-direction: alternate;
	animation-direction: alternate;
}

.float-shadow.funny-box .icon{
	position: relative;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: transform;
	transition-property: transform;
}
.float-shadow.funny-box .icon:before {
	pointer-events: none;
	position: absolute;
	z-index: -1;
	content: '';
	top: 100%;
	left: 5%;
	height: 10px;
	width: 90%;
	opacity: 0;
	background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
	/* W3C */
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-property: transform, opacity;
	transition-property: transform, opacity;
}
.float-shadow.funny-box:hover .icon, .float-shadow.funny-box:focus .icon{
	-webkit-transform: translateY(-5px);
	transform: translateY(-5px);
	/* move the element up by 5px */
}
.float-shadow.funny-box:hover .icon:before, .float-shadow.funny-box:focus .icon:before{
	opacity: 1;
	-webkit-transform: translateY(5px);
	transform: translateY(5px);
	/* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 5px) */
}

/* Hover Shadow */
@-webkit-keyframes hover {
  50% {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
  }

  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

@keyframes hover {
  50% {
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
  }

  100% {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }
}

@-webkit-keyframes hover-shadow {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
    opacity: .4;
  }

  50% {
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
    opacity: .4;
  }
}

@keyframes hover-shadow {
  0% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
    opacity: .4;
  }

  50% {
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    opacity: 1;
  }

  100% {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
    opacity: .4;
  }
}

.hover-shadow.funny-box .icon {
  display: inline-block;
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
}
.hover-shadow.funny-box .icon:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  top: 100%;
  left: 5%;
  height: 10px;
  width: 90%;
  opacity: 0;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
  /* W3C */
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform, opacity;
  transition-property: transform, opacity;
}
.hover-shadow.funny-box:hover .icon, .hover-shadow.funny-box:focus .icon {
  -webkit-transform: translateY(-6px);
  transform: translateY(-6px);
  -webkit-animation-name: hover;
  animation-name: hover;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}
.hover-shadow.funny-box:hover .icon:before, .hover-shadow.funny-box:focus .icon:before {
  opacity: .4;
  -webkit-transform: translateY(6px);
  transform: translateY(6px);
  -webkit-animation-name: hover-shadow;
  animation-name: hover-shadow;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
  animation-direction: alternate;
}

/**
 *  Coloring
 */
.primary.funny-box .icon{
	border-color: #428bca;
}
.success.funny-box .icon{
	border-color: #5cb85c;
}
.info.funny-box .icon{
	border-color: #5bc0de;
}
.warning.funny-box .icon{
	border-color: #f0ad4e;
}
.danger.funny-box .icon{
	border-color: #d9534f;
}
.primary.funny-box:hover .icon, .primary.funny-box:focus .icon{
	border-color: #428bca;
	background-color: #428bca;
	color: #f8f8f8;
}
.success.funny-box:hover .icon, .success.funny-box:focus .icon{
	border-color: #5cb85c;
	background-color: #5cb85c;
	color: #f8f8f8;
}
.info.funny-box:hover .icon, .info.funny-box:focus .icon{
	border-color: #5bc0de;
	background-color: #5bc0de;
	color: #f8f8f8;
}
.warning.funny-box:hover .icon, .warning.funny-box:focus .icon{
	border-color: #f0ad4e;
	background-color: #f0ad4e;
	color: #f8f8f8;
}
.danger.funny-box:hover .icon, .danger.funny-box:focus .icon{
	border-color: #d9534f;
	background-color: #d9534f;
	color: #f8f8f8;
}